In the Mobile Industry Processor Interface Alliance [MIPI], several standards are defined. One of these standards is called UniPro (Unified Protocol), which is aimed at chip-to-chip networks using high-speed serial links [UniPro 1]. UniPro is defined to be a general purpose protocol that solves the general interconnect problems, such as error handling, flow control, routing or arbitration. UniPro is intended to increase the flexibility of phone manufacturers by mixing and matching chips with different functionalities, potentially from different vendors for easy creation of new devices.
UniPro has a fairly complex error handling procedure to provide reliable communication at the link level. The UniPro error handling is based on error detection based on CRC codes, error reporting using NAC frames, and data frame retransmissions in case of errors. Sequence numbers make sure that data frames are sent in order, and prevents frames being lost or duplicated. Sequence numbers are also essential in managing the retransmission buffer at the transmitter side, by removing the frames from the retransmission buffer once they are reported correctly received.
In addition to the CRC-based error detection, UniPro also uses timers to address error corner cases. Two timers are used, one to protect against frame acknowledgments and flow-control credits being lost, respectively.
This error handling requires that the data frames are only processed after their CRC is verified. While this pre-processing of the CRC may be a requirement when the packets are delivered at the receiver application, it is inefficient in intervening nodes, e.g., in UniPro network nodes such as UniPro switches, where it increases latency associated with data frame delivery.
Although the present handling is adequate, the inventor found it desirable to have methods and nodes which have less latency in such communication systems, and provide a more reliable packet cut-through mechanism.